package common

//定义pc平台用到数据结构

type Role struct {
	Id         int64   `json:"id"`
	Name       string  `json:"name"`
	Menu       string  `json:"menu"`
	Mutable    int64   `json:"mutable"`
	CreateTime int64   `json:"create_time,omitempty"`
	MenuList   []*Menu `json:"menu_list,omitempty"`
}

type Menu struct {
	Id         int64   `json:"id"`
	ParentId   int64   `json:"parent_id"`
	Name       string  `json:"name"`
	ModuleName string  `json:"module_name"`
	Url        string  `json:"url"`
	Selected   int64   `json:"selected"` //展示权限时,1-有权限,0-无权限
	Child      []*Menu `json:"child,omitempty"`
}

type OneDayTrans struct {
	Send   int64 `json:"send"`   //总共派发的数量
	Cost   int64 `json:"cost"`   //总共消耗的数量
	Remain int64 `json:"remain"` //剩余的数量
}

type ListDayParams struct {
	StartTime int64 `json:"start_time" valid:"Min(0)"`
	EndTime   int64 `json:"end_time" valid:"Min(0)"`
}

// pc端管理用户
type PcUser struct {
	Uid        int64  `json:"uid"`
	Email      string `json:"email"`
	Name       string `json:"name"`
	RealName   string `json:"real_name"`
	Password   string `json:"password,omitempty"`
	RoleId     int64  `json:"role_id"`
	GroupId    int64  `json:"group_id"`
	Frozen     int64  `json:"frozen"`
	Mutable    int64  `json:"mutable"`
	LoginTime  int64  `json:"login_time,omitempty"`
	CreateTime int64  `json:"create_time,omitempty"`
}

//pc端登录时使用
type UserInfo struct {
	RoleId  int64 `json:"role_id"`
	GroupId int64 `json:"group_id"`
}

//大区
type Group struct {
	Id         int64  `json:"id"`
	Name       string `json:"name"`
	Mutable    int64  `json:"mutable"`
	BonusRate  int64  `json:"bonus_rate"`
	CreateTime int64  `json:"create_time"`
}

//服务器参数
type ServerConf struct {
	Region     string `json:"region"`
	Bucket     string `json:"bucket"`
	OssRootUrl string `json:"oss_root_url"`
}

type ListPcUserParams struct {
	ListParams
	Name string `json:"name"`
}

//查询代理的参数
type H5UserParams struct {
	GroupId   int64  `json:"group_id"` //超级管理员时传这个参数
	Uid       int64  `json:"uid"`
	Level     int64  `json:"level"`
	Phone     string `json:"phone"`
	AgentName string `json:"agent_name"`
	IsPass    int64  `json:"is_pass"`
	IsFrozen  int64  `json:"is_frozen"`
}

type AllOrderParams struct {
	Uid           int64  `json:"uid"`            //玩家或代理的id
	TransactionId string `json:"transaction_id"` //微信订单号
	Id            int64  `json:"id"`             //平台订单号
	Status        int64  `json:"status"`
	PayType       int64  `json:"pay_type"` //支付类型
	AgentId       int64  `json:"agent_id"` //代理的id
	GroupId       int64  `json:"group_id"` //大区
}

//白名单
type WhiteUser struct {
	Uid        int64 `json:"uid"`
	CreateTime int64 `json:"create_time"`
}

//抽奖奖品
type LotteryProduct struct {
	Id         int64  `json:"id"`     //奖品id
	Name       string `json:"name"`   //奖品名称
	Piece      int64  `json:"piece"`  //奖品碎片
	Prob       int64  `json:"prob"`   //奖品概率
	Status     int64  `json:"status"` // 是否上线，1-上级,0-下线
	Type       int64  `json:"type"`   //奖品类型, 1-钻石, 2-非钻石
	Value      int64  `json:"value"`  //奖品数量
	CreateTime int64  `json:"create_time"`
	ModifyTime int64  `json:"modify_time"`
}

//钻石兑换抽奖次数
type LotteryConsume struct {
	Id           int64 `json:"id"`
	Uid          int64 `json:"uid"`
	Diamond      int64 `json:"diamond"`
	LotteryCount int64 `json:"lottery_count"`
	CreateTime   int64 `json:"create_time"`
}

//钻石兑换抽奖次数表
type LotteryExchange struct {
	Id           int64 `json:"id"`
	Diamond      int64 `json:"diamond"`
	LotteryCount int64 `json:"lottery_count"`
	CreateTime   int64 `json:"create_time"`
}

//玩家抽奖获得的奖品
type LotteryUser struct {
	Id        int64 `json:"id"`
	Uid       int64 `json:"uid"`
	LotteryId int64 `json:"lottery_id"`
	Piece     int64 `json:"piece"`
}
